Revert "html update"
[clinton/website/site/unknownlamer.org.git] / Site Software.html
CommitLineData
54a817d4 1<?xml version="1.0" encoding="utf-8" ?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml">
5 <head>
6 <title>Site Software</title>
7 <meta name="generator" content="muse.el" />
8 <meta http-equiv="Content-Type"
9 content="text/html; charset=utf-8" />
11f9bd69
CE
10 <meta name="viewport"
11 content="width=device-width, initial-scale=1.0" />
98266870 12 <link href="https://feeds.unknownlamer.org/rss/site-updates"
54a817d4 13 rel="alternate" type="application/rss+xml" title="Updates Feed" />
14
7404d4e1 15<link rel="stylesheet" href="default.css" />
54a817d4 16 </head>
17 <body>
18 <h1>Site Software</h1>
19 <div class="contents">
20<dl>
21<dt>
22<a href="#sec1">Basic Setup</a>
23</dt>
24<dt>
25<a href="#sec2">Scripts</a>
26</dt>
27<dd>
28<dl>
29<dt>
30<a href="#sec3">Book Database</a>
31</dt>
32<dt>
33<a href="#sec4">RSS Feed</a>
34</dt>
35</dl>
36</dd>
37<dt>
38<a href="#sec5">License</a>
39</dt>
40</dl>
41</div>
42
43
11f9bd69
CE
44<!-- Page published by Emacs Muse begins here -->
45<h2><a name="sec1" id="sec1"></a>
54a817d4 46Basic Setup</h2>
47
48<p class="first">I work on the static content of the site using <a href="http://mwolson.org/projects/EmacsMuse.html">Emacs Muse</a>. My muse
49configuration is pretty long and available in my
50<a href="http://unknownlamer.org/darcsweb/browse?r=site-emacs;a=headblob;f=/init.d/muse.el">site-emacs repository</a>. The site itself exists in a <a href="http://unknownlamer.org/darcsweb/browse?r=unknownlamer.org;a=summary">darcs repository</a>
51which is a fork of the source repository I edit locally&mdash;the source
52repository contains muse/image files while the site repository
53contains html updates as a separate series of patches.</p>
54
55<p>This provides a very nice editing environment and makes publishing
56fairly easy&mdash;I push edits from my laptop to my workstation and then
57off to <a href="http://hcoop.net">HCoop</a> with the html updates. Almost no effort is spent dealing
58with some dumb web interface or other pointless things making it much
59easier for me to just write things and toss them up onto the web.</p>
60
61
62<h2><a name="sec2" id="sec2"></a>
63Scripts</h2>
64
65<p class="first">There are a few scripts and templates in the <a href="http://unknownlamer.org/darcsweb/browse?r=site-support;a=summary">darcsweb::site-support</a>
66repository that I use to update the
67site. <a href="http://unknownlamer.org/darcsweb/browse?r=site-support;a=headblob;f=/update.sh">darcsweb::site-support/update.sh</a> automates the process of
68sending patches off to the server via afs.</p>
69
70<h3><a name="sec3" id="sec3"></a>
71Book Database</h3>
72
73<p><a href="Book%20List.html">Book List</a> is autogenerated by <a href="http://unknownlamer.org/darcsweb/browse?r=site-support;a=headblob;f=/books.lisp">darcsweb::site-support/books.lisp</a> which
74reads a template and a small sexp <em>database</em> of book entries and spits
75out a muse file which is not kept under VC. This works well for me
76currently, but I intend to eventually <em>upgrade</em> this simple system to an
77<a href="http://common-lisp.net/project/elephant/">Elephant</a> object database with a <a href="http://common-lisp.net/project/mcclim/">CLIM</a> frontend for editing
78entries. I'll probably end up writing a minimal database manager for
79the sexp based system first.</p>
80
81
82<h3><a name="sec4" id="sec4"></a>
83RSS Feed</h3>
84
85<p class="first">The site rss feed is generated by <a href="http://unknownlamer.org/darcsweb/browse?r=site-support;a=headblob;f=/rss.lisp">darcsweb::site-support/rss.lisp</a>. It
86fetches the darcs xml changelog for interesting files and then spits
87out a tolerable feed with automagically generated links from <code>*.muse</code> to
88<code>*.html</code>. A <a href="http://unknownlamer.org/darcsweb/browse?r=site-support;a=headblob;f=/update-rss-binary">dumped binary</a> is run from a darcs hook on the main
89repository that handily updates the feed whenever I commit.</p>
90
91<p><code>apply posthook update-site-rss
92apply run-posthook</code></p>
93
94<p>Boring old Apache is used to serve up the generated feed. The feed
95stays updated when I update, and Apache deals with properly letting
96readers know when the file last changed and whatnot.</p>
97
98
99
100<h2><a name="sec5" id="sec5"></a>
101License</h2>
102
103<p class="first">All of the scripts used to generate the site are in the public domain
104unless otherwise mentioned in the files themselves. To use them
105anywhere else would require modification, but a few chunks of code
106could be generally useful for other things.</p>
107
108
109 <!-- Page published by Emacs Muse ends here -->
110
111 <p class="cke-buttons">
112 <!-- validating badges, any browser, etc -->
98266870
CE
113 <a href="https://validator.w3.org/check/referer"><img
114 src="https://www.w3.org/Icons/valid-xhtml10"
54a817d4 115 alt="Valid XHTML 1.0!" /></a>
116
98266870 117 <a href="https://www.anybrowser.org/campaign/"><img
54a817d4 118 src="img/buttons/w3c_ab.png" alt="[ Viewable With Any Browser
119 ]" /></a>
120
98266870 121 <a href="https://www.debian.org/"><img
54a817d4 122 src="img/buttons/debian.png" alt="[ Powered by Debian ]" /></a>
123
98266870 124 <a href="https://hcoop.net/">
54a817d4 125 <img src="img/buttons/hcoop.png"
126 alt="[ Hosted by HCoop]" />
127 </a>
128
98266870 129 <a href="https://www.fsf.org/register_form?referrer=114">
54a817d4 130 <img src="img/buttons/fsf_member.png"
131 alt="[ FSF Associate Member ]" />
132 </a>
133 </p>
134
11f9bd69
CE
135<p class="cke-footer">'Asked whether it is a good thing that the course of our
136civilization being largely directed by gigantic immortal,
137belligerent, unsleeping multiheaded tax-avoiding parakeets whose
138unnatural lusts can never be sated, Dr. Larkey declined to
139comment, noting that "corporations have the rights of personhood
140in this country" and that "it is not my place to criticize the
141law".'
54a817d4 142</p>
143<p class="cke-timestamp">Last Modified:
f6d19803 144 January 21, 2013</p>
54a817d4 145 </body>
146</html>